abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 19:00 | IT novinky

    Počítačová hra Knytt napsaná v Multimedia Fusion 2 byla vydána před 20 lety. Při této příležitosti byl dnes představen moderní port (YouTube) této plošinovky na současné operační systémy pod názvem Knytt Classic. Je zdarma k dispozici na Steamu a GOG.com.

    Ladislav Hagara | Komentářů: 0
    dnes 16:00 | IT novinky

    Americká technologická společnost Meta Platforms představila nový model umělé inteligence (AI) Muse Glimmer. Model je menší než přední modely AI od konkurence a má běžet přímo na počítačích uživatelů. Meta model zpřístupní jako open source, tedy otevřený software. Nový model je navržen tak, aby zvládal takzvané agentní úkoly na počítačích se spotřebitelskou grafickou kartou. Klade si tak za cíl uspokojit poptávku po systémech AI, které běží přímo na zařízeních uživatelů.

    Ladislav Hagara | Komentářů: 5
    dnes 12:11 | Pozvánky

    V pátek 28. srpna 2026 se v pražském Karlíně uskuteční již osmý Mobilní Hackday. Akce začne v 10:00 a potrvá až do večera. Setkání proběhne v prostorách SUSE Linux, s.r.o. na adrese Křižíkova 148/34, Praha 8 – Karlín. Nejbližší zastávkou je Křižíkova, kam se lze dostat tramvají i metrem. Na programu budou například novinky z posledních měsíců, možnosti, jak si zjednodušit práci s LLM/AI, a také nová linuxová distribuce BengalOS, včetně … více »

    David Heidelberg | Komentářů: 0
    včera 17:22 | Nová verze

    Jakub Vrána vydal Adminer ve verzi 6.0.0 s více než 130 změnami: "Většina změn vznikla s asistencí Claude Opus 5. Někteří lidi se bojí, že AI asistence může kód zamořit technickým dluhem. To je jistě pravda, pokud vývojář všechny změny bezduše odbouchne Enterem. Ale pokud si pořádně projde plán, vyjedná v něm změny a pak totéž udělá i s vygenerovaným kódem, kvalita kódu stoupne a technický dluh naopak klesne. Je to jako párové programování s

    … více »
    Ladislav Hagara | Komentářů: 1
    včera 12:44 | Nová verze

    Sam Aaron vydal novou major verzi 5.0.0 aplikace Sonic Pi (Wikipedie) určené také pro výuku programování pomocí skládání hudby. Přehled novinek na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    8.8. 04:44 | IT novinky

    U příležitosti 30. výročí vydání počítačové hry Quake byla vydána nová epizoda s názvem Dawn of the Machine (Steam).

    Ladislav Hagara | Komentářů: 8
    7.8. 16:00 | Bezpečnostní upozornění

    Vládní CERT upozorňuje (𝕏) na sérii bezpečnostních záplat (CVSS 9.9) v produktech Cisco řešících kritické zranitelnosti umožňující obejití autentizace, eskalaci oprávnění, vzdálené spuštění kódu a odepření služby. Úspěšné zneužití může útočníkům umožnit získat neoprávněný přístup k dotčeným systémům, kompromitovat zařízení Cisco Catalyst SD-WAN a Cisco IOS XE, spustit libovolný kód, zpřístupnit citlivé informace nebo narušit dostupnost postižených systémů.

    Ladislav Hagara | Komentářů: 6
    7.8. 15:33 | IT novinky

    Soud v americkém státě Nové Mexiko ve čtvrtek nařídil internetové společnosti Meta Platforms zaplatit 567 milionů dolarů (téměř 12 miliard Kč) za újmy, které její platformy působí mladým lidem. S přihlédnutím k dřívějšímu verdiktu tak má společnost celkem zaplatit 942 milionů dolarů, což je malý zlomek jejího ročního výnosu, který loni činil 60 miliard dolarů. Čtvrteční verdikt firmě také nařizuje, aby změnila způsob, jakým její

    … více »
    Ladislav Hagara | Komentářů: 20
    7.8. 12:44 | Humor

    Mark Russinovich (CTO v Microsoft Azure) se na LinkedIn pochlubil svým projektem MS Paint Doom napsaným pomocí Claude. Hru Doom umožňuje hrát v programu Malování (Microsoft Paint). Malování funguje jako monitor. Herní engine (ViZDoom) běží na pozadí a každý vykreslený snímek hry vkládá automaticky přes schránku (clipboard) do Malování.

    Ladislav Hagara | Komentářů: 4
    6.8. 08:00 | IT novinky

    Platformy ChatGPT i Roblox by mohly být zařazeny na seznam mimořádně velkých on-line platforem nebo internetových vyhledávačů, na něž se vztahují zvláštní podmínky podle nařízení o digitálních službách (DSA). Vzhledem k tomu, že ChatGPT i Roblox oznámily počet uživatelů nad prahovou hodnotou DSA, je toto označení „rozhodně možné“ a mohlo by „přijít dříve či později“. On-line platformy a vyhledávače zařazené na seznamy DSA musejí

    … více »
    Ladislav Hagara | Komentářů: 12
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (6%)
     (6%)
     (2%)
     (15%)
     (23%)
    Celkem 2364 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Tisk v Linuxu pomocí balíku PSUtils

    4. 3. 2004 | Tomáš Pěnička | Návody | 8964×

    Oboustranný tisk, tisk více stran na jeden list, sestavování sešitu. Pokud vám něco chybělo v nedávném článku o oboustranném tisku, najdete to zde.

    V nedávné době vyšel na ABCLinuxu článek s návodem k oboustrannému tisku v Linuxu. Článek nevyčerpal všechny možnosti, které mohou nastat, proto jsem se jej rozhodl doplnit.

    Abstrakt

    Řešíme úlohu, jak v Linuxu co nejpohodlněji tisknout oboustranně na tiskárně, která to sama o sobě neumí. Dále se podíváme na postup, jak tisknout více zmenšených stránek na jeden list papíru a nakonec, jak si vytisknout sešit. Předpokládáme, že materiál k tisku je připraven v postscriptovém souboru. Tento předpoklad není nijak omezující, protože z většiny aplikací se dá vymámit PostScript. Použijeme balík psutils, který je snad ve všech distribucích.

    Balík psutils

    Balík psutils je soubor programů, které umí různé kejkle s postscriptovými soubory. Mimo jiné spojení více souborů do jednoho (psmerge, funguje ve velmi speciálních případech, ještě se mi to nepovedlo), výběr některých stránek (psselect), zmenšení a umístění více stránek na jeden list papíru (psnup) a přeuspořádání stránek pro tisk sešitu (psbook, viz dále).

    Jednotlivé programy z balíku psutils se dají pospojovat rourami. Pokud nezadáte výstupní soubor, tak se výsledek vysype na standardní výstup, pokud navíc nezadáte vstupní soubor, data se berou ze standardního vstupu. Spojením několika programů do kolony se dají dělat velké věci.

    Oboustranný tisk - teorie

    Tady se zaměříme na praktickou stránku věci. Oželíme výklad suché teorie a dáme řešení pro různé situace. Předpokládáme, že tiskárna splňuje následující podmínky:

    1. Ze zásobníku si tiskárna bere horní papír.
    2. Na výstupu z tiskárny padá papír na dříve vytištěné (tj. na vršek hromádky).

    Pokud Vaše tiskárna pracuje jinak, čtěte přesto dále.

    Odpovězte si na následující 2 výroky, které se týkají konstrukce tiskárny.

    1. Tiskne se na tu stranu papíru, která je v zásobníku nahoře. Pokud tiskárna nesplňuje bod a.), znegujte odpověď a všude, kde se v bodech i.) až iv.) mluví o zásobníku papíru, prohoďte strany nahoře a dole.
    2. Papír vyjede z tiskárny vytištěnou stranou nahoře. Pokud tiskárna nesplňuje bod b.), znegujte odpověď.

    Mohou nastat 4 případy odpovědí. Popíšeme postup, jak nakonec dostat oboustranně vytištěné stránky seřazené ve správném (tj. vzestupném) pořadí.

    1. Odpovědi jsou (ano, ano) - toto je nejjednodušší případ. Vytiskneme liché stránky, vytištěné listy vrátíme do zásobníku tiskem dolů a vytiskneme sudé stránky. Pokud bylo lichých stránek více než sudých, poslední z nich zůstane v zásobníku, takže je třeba ji zase vytáhnout nebo ji tam ani nedávat.
    2. Odpovědi jsou (ne, ne) - toto je stále jednoduchý případ. Vytiskneme sudé stránky, vytištěné listy vrátíme do zásobníku tiskem nahoru a vytiskneme liché stránky. Pokud bylo lichých stránek více než sudých, tak si tiskárna vezme ze zásobníku o jeden list víc, než jsme do něj předtím vrátili.

      Obě předchozí varianty jsou jednoduché v tom smyslu, že nevyžadují tisk stránek v obráceném pořadí. V těchto případech si vystačíme například s programem gv.

    3. Odpovědi jsou (ano, ne) - nejprve vytiskneme sudé stránky v obráceném pořadí (vytištěné listy vrátíme do zásobníku tiskem dolů) a potom liché (v normálním pořadí). Pokud je lichých stránek víc, tak si tiskárna vezme ze zásobníku o jeden list víc, než jsme do něj předtím vrátili.
    4. Odpovědi jsou (ne, ano) - nejprve vytiskneme liché stránky v obráceném pořadí (vytištěné listy vrátíme do zásobníku tiskem nahoru) a potom sudé (v normálním pořadí). Pokud je lichých stránek víc, tak si tiskárna vezme ze zásobníku o jeden list víc, než jsme do něj předtím vrátili.

    Neřešíme způsob, jak se listy otáčí. Závisí to totiž na požadovaném výsledku (jestli tiskneme na výšku nebo na šířku). Když se uživatel trochu zamyslí, tak na to přijde. Ještě na to přijde řeč.

    Případy (ano, ano) a (ne, ne) a jsou si podobné. Nedají se však spojit, protože vytištěné stránky by vždy v jednom z obou případů byly špatně (sestupně) seřazené. Stejně to platí i pro případy (ano, ne) a (ne, ano).

    Oboustranný tisk - praxe

    Jeden ze způsobů oboustranného tisku je pomocí programu psselect z balíku psutils. Program psselect má řadu způsobů, jak říct, které stránky chceme vybrat. Samozřejmostí je výběr sudých (parametr -e) a lichých (-o) stran. Dále se dají strany specifikovat výčtem a rozsahem (-p). Také se dá obrátit pořadí stránek (-r). Jednotlivé volby se dají kombinovat.

    Následující skript vytiskne (s malou pomocí uživatele) oboustranně postscriptový soubor. Předpokládáme, že skript slouží pro tisk na jedné tiskárně, takže příslušné parametry se nastaví přímo ve skriptu a jako parametr se bude předávat jen jméno souboru. Neuvažujeme případ tiskáren s více zásobníky a výstupními drahami, kde jsou odpovědi na výroky 1.) a 2.) různé pro různé zásobníky a výstupní dráhy. Takové tiskárny by mohly umět oboustranný tisk samy a pokud neumí, tak se dá skript upravit.

    #!/bin/bash
    #Použití: $0 soubor_k_tisku.ps
    #Začátek nastavení
    #Na kterou stranu papíru v zásobníku se tiskne. 1=horní, 0=dolní
    input=
    #Na které straně papíru je na výstupu tisk. 1=horní, 0=dolní
    output=
    printcommand='lpr'
    psselect='psselect'
    #Konec nastavení
    #Nastavení výpisů a proměnných
    file=$1
    messagedown="Až se dotiskne, tak vytištěné papíry vraťte do zásobníku tiskem dolů\n a stiskněte Enter."
    messageup="Až se dotiskne, tak vytištěné papíry vraťte do zásobníku tiskem nahoru\n a stiskněte Enter."
    odd="Tisknou se liché stránky."
    oddreverse="Tisknou se pozpátku liché stránky."
    even="Tisknou se sudé stránky."
    evenreverse="Tisknou se pozpátku sudé stránky."
    done="Hotovo"
    #začátek vlastního skriptu
    if [ $input -eq 1 ]
    then
      if [ $output -eq 1 ]
      then
        echo $odd
        $psselect -o $file | $printcommand
        echo -e $messagedown
        read nothing
        echo $even
        $psselect -e $file | $printcommand
        echo $done
      else
        echo $evenreverse
        $psselect -e -r $file | $printcommand
        echo -e $messagedown
        read nothing
        echo $odd
        $psselect -o $file | $printcommand
        echo $done    
      fi
    else
      if [ $output -eq 1 ]
      then
        echo $oddreverse
        $psselect -o -r $file | $printcommand
        echo -e $messageup
        read nothing
        echo $even
        $psselect -e $file | $printcommand
        echo $done
      else
        echo $even
        $psselect -e $file | $printcommand
        echo -e $messageup
        read nothing
        echo $odd
        $psselect -o $file | $printcommand
        echo $done    
      fi
    fi

    Více stránek na jeden list

    Ve své práci jsem řešil problém, jak vytisknout spoustu grafů tak, aby jich bylo více na stránce. Prvním řešením je přesvědčit aplikaci, která grafy generuje, aby je tak zrovna vytiskla (uložila do PostScriptu), druhým řešením je vygenerovat grafy po jednom na stránce a dodatečně je zmenšit a seskupit na stránku.

    K tomuto úkolu se hodí program psnup. Umí seskupit více logických stránek na jeden list papíru. Jako parametr si vezme počet stránek na list papíru a sám rozhodne, jak je na stránku umístit tak, aby co nejlépe využil plochu. Někdy použije papír naležato (landscape). Pokud uzná, že plochu využít neumí, tak to oznámí a neudělá nic. Nedá se mu nijak domluvit. V praxi to znamená, že na jeden list nemůžeme umístit 7, 11, 13, 17... stránek. Ostatní počty zvládá. Dále se dá nastavit velikost papíru (na vstupu i výstupu), okraje papíru (-m), okraje logických stránek (-b), způsob umisťování jednotlivých stránek (po sloupcích -c nebo řádcích - standard), linky mezi stránkami (-d) atd., viz man psnup.

    Příklad 1: chceme stránky ze souboru vstup.ps umístit po čtyřech a uložit do souboru vystup.ps, uděláme to takto:

    psnup -4 vstup.ps > vystup.ps

    Tisk sešitu

    Někdy se hodí vytisknout text tak, že z něho vytvoříme sešit, tj. vytiskneme oboustranně, přeložíme v půlce a sešijeme (vhodné pro krátké články, manuály apod.). Seřadit správně stránky dá docela hodně přemýšlení. Například, pokud máme 12 logických stránek, tak na první list vytiskneme z jedné strany stránky 12 a 1 a z druhé 2 a 11 , na druhý list 10+3 a 4+9 atd. Principiálně by to šlo i programem psselect, ale psbook se hodí lépe.

    psbook se používá ve spojení s programem psnup tak, že výstup psbook se prožene přes psnup -2 a výsledek oboustranně vytiskneme. Pokud si prohlédnete vazbu nějaké staré knihy, uvidíte, že je svázána z mnoha malých sešitků (v angličtině se používá slovo signature). I na toto psbook pamatuje parametrem -s, kde se mu musí předhodit číslo, které je násobkem 4 a znamená počet stránek v jednom sešitku. Pokud neuvedeme nic, nacpe celý soubor do jednoho sešitku. Pokud není počet stránek v souboru násobkem počtu stránek v sešitku, tak se doplní prázdnými stranami.

    Příklad 2: Používám k úspornému tisku skript kniha.sh, který zmenší stránky formátu A4 a umístí je po dvou na list papíru. Výstup skriptu vytisknu oboustranně a dostanu tím sešitek. Použití je následující:

    kniha.sh vstup.ps > vystup.ps

     

    #!/bin/sh file=$1
    psbook $file | psnup -2

    Příklad 3: Osobně tisknu pro oddíl zpěvník pomocí TeXu a psutils takto: Připravím si zpěvník ve formátu A5 jako soubor vstup.dvi. Následující skript připraví soubor pro tisk. Použití je

    zpevnika5 vstup

    (bez .dvi) a výsledek najdu v souboru vstup_vysledek.ps (výstup se dá samozřejmě upravit).

    #!/bin/bash
    dvips -t a5 $1
    psbook $1.ps | psnup -2 -p a4 -P a5 > $1_vysledek.ps

    Parametr -p a4 znamená požadovaný formát výstupu, kdežto -P a5 je formát vstupu. Našel jsem chybu programu psnup - v tomto případě je ve výsledném postscriptovém souboru špatně uvedený formát, a to A5 místo A4. Musí se ručně přepsat na A4 (osmý řádek souboru). Nemám nejnovější verzi psnup, takže nevím, jestli není chyba už opravená.

    Otáčení kolem dlouhé a krátké strany papíru

    Otáčení papíru při oboustranném tisku se dá popsat jednoduše. Předpokládejme, že papír prolézá tiskárnou po délce.

    Pokud tiskneme na výšku (jedna strana na list, listy svážeme na delší straně), otáčíme kolem delší strany papíru. Pokud bychom ale chtěli z nějakého důvodu papíry sešít na horní (kratší) straně a otáčet listy nahoru, tak bychom otáčeli kolem kratší strany papíru.

    Pokud tiskneme sešitek (tj. na šířku), otáčíme kolem kratší strany papíru. Toto se týká obou výše uvedených příkladů.

    Zvláštní situace nastává, pokud sice máme dvě stránky na listu papíru, ale hodláme je sešít do kroužkové vazby tak, že je sešijeme na delší straně papíru. Znamená to, že při prohlížení před námi papíry leží naležato a otáčíme je nahoru. Hodí se to, pokud si okopírujete nějakou knihu po dvojlistech. V takovém případě se papíry otáčí kolem delší strany papíru.

    Než se pustíte do tisku, podívejte se, jestli náhodou tiskárna neotáčí papíry sama. Například, pokud se papír dává do tiskárny zepředu a zase předem vyleze, tak už je otočený kolem kratší strany. Pokud si nejste jisti, musíte na otestování obětovat jeden list papíru.

    Závěr

    Předvedený postup má výhodu v tom, že k oboustrannému tisku nepotřebuje spolupráci správce systému. Stačí, když funguje (jednostranný) tisk. Příslušné skripty si uživatel uloží do svého vlastního adresáře se skripty (typicky to je ~/bin a někde v .bashrc si přidá tento adresář do cesty).

           

    Hodnocení: 42 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Stanislav Brabec avatar 4.3.2004 11:33 Stanislav Brabec | skóre: 45 | Praha
    Rozbalit Rozbalit vše zrcadlové převrácení
    A pokud snad někdo potřebuje patch na zrcadlové převrácení, najde ho tady. Kdysi jsem potřeboval tisknout hotový PostScript na pauzáky, tak jsem to tam přidal.
    5.3.2004 08:59 Josef
    Rozbalit Rozbalit vše Další užitečnosti k tématu
    Za přečtení a na doplnění stojí za zmínku článek o PSUtils na serveru Grafika.cz.

    S tématikou souvisí i následující články, některé zmiňují i jiné nástroje pro další operační systémy:

    Softwarové nástroje pro archovou montáž: Přehled

    Je Linux použitelný v pre-pressu?

    Softwarové nástroje pro archovou montáž: Přehled

    A abych si nakonec přihřál svoji polívčičku, měl by ještě na mých starých stránkách viset popis řešení jedné méně ovyklé, ale tehdy potřebné montáže čtyř stránek na jednu oboustranně.

    Pohoda, hezký den

    Josef
    6.3.2004 10:19 petris
    Rozbalit Rozbalit vše více stránek přessebe
    Zdravim, potřeboval bych dostat 2 stránky přessebe na jednu stránku (mají se překrývat, něco jako dvě vrstvy v Gimpu). Nevíte někdo jak na to?
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.